1. Field of the Invention
Embodiments described herein are directed to encoded electronic mail that includes the files that represent the meta-data of an email, the files that represent the email data, and the processes that act on these files. The meta-data is combined with the email data within a single file, and encoding, by means of a header, is implemented to monitor the changes to the meta-data and the location of the email data within the file.
2. Related Art
Current electronic mail systems utilize the files that represent the meta-data of electronic mail as well as the files that represent the electronic mail data. An email process receives the email data into a data-file and creates one or more meta-files to describe the email. Other email functions consult and/or modify the meta-files to process (e.g., parse, route, or forward) the email. This method is prone to email corruption. That is, if any of the meta-files are deleted inadvertently, the corresponding data-file becomes unusable. The converse is also true. Several causes of accidental deletion include a system crash, failed backup/restore, and administrative error.
In a typical operating system, email files are treated in a like manner as other files. The operating system does not have an inherent understanding of the relationship between files. For instance, in a conventional email system, a certain set of the email meta-files is considered the root or main files. These files contain references such as filename and file extensions to other meta-files and data-files. If a root is accidentally deleted, the other meta-files and data-files associated with it are orphaned such that they consume disk space without being referenced. If a non-root file is deleted, then the set of meta-files and data-files that represent that particular email message are incomplete.
Moreover, in a representative email system, the set of meta-files and data-files that represent a particular email message are all opened at once, thereby consuming operating system-limited file descriptors and file buffers. These opened files cause the operating system to allocate memory from the system load, thus reducing the amount of memory and file descriptors available to other non-email processes. To alleviate the problem, there is a need to minimize open file descriptors and therefore maximize system resources for non-email processes.
Encoded electronic mail is thus designed to minimize the use of the central processing unit by maximizing the use of system resources such as memory, disk space, file descriptors, locks, and the like. That is, the meta-data is combined with the actual email data within a single file, and encoding, via the addition of a header, is used to monitor the changes to the meta-data and the location of the actual email data within the file.